package exo3;

public class SalleCinema {

	/**
	 * @param args
	 */
	protected static final String AL = "\n";
	public final int nbPlace;
	private final String film;
	private double tarif;
	private int nbPlacesVendues;
		
	/**
	 * @constructeur de la classe SalleCinema
	 */
	public SalleCinema(String film, int places, double prixTicket){
		this.film = film;
		nbPlace = places;
		tarif = prixTicket;
	}
	
	/* Accesseurs */
	/*public int getNbPlace(){
		return nbPlace;
	}
	public void setNbPlace(int nbpl){
		nbPlace = nbpl;
	}
	public double getTarif(){
		return tarif;
	}
	public void setTarif(double p){
		tarif = p;
	}*/
	
	public boolean estPleine(){
		int place_dispo;
		place_dispo = nbPlace - nbPlacesVendues;
			return(place_dispo == 0);
	}
	
	public void vendrePlace(){
		nbPlacesVendues++;
	}
	
	public double tauxRemplissage(){
		double d = nbPlacesVendues;
		
		/**
		 *  la division avec l'operateur /, est une division entiere pour avoir 
		 *  une division decimale il faut faire intervenir un decimale dans 
		 *  l'operation d'ou  l'instruction "double d = nbPlacesVendues". 
		 */
		
		return (d / nbPlace);	
	}
	
	public double chiffreAffaires(){
		
		return (nbPlacesVendues * tarif);
		
	}
	
	public int nbPlacesDisponibles(){
		
		return nbPlace - nbPlacesVendues;
		
	}
	
	@Override
	public String toString(){
		StringBuilder resultat = new StringBuilder();
		resultat.append("     Film projete : ").append(film).append(AL)
			.append("     tarif :").append(tarif).append(AL)
			.append("     nombre de places :").append(nbPlace).append(AL)
			.append("     taux remplissage :").append(tauxRemplissage()).append(AL)
			.append("     chiffre d'affaires :").append(chiffreAffaires()).append(AL);
		return resultat.toString();
	}
	
	/* methode principale */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		SalleCinema salle = new SalleCinema("Hobit", 10, 12.5);
		//vente de 3 places
		salle.vendrePlace();
		salle.vendrePlace();
		salle.vendrePlace();
		
		System.out.println(salle);
		System.out.println("     Nombre de places diponibles : " + salle.nbPlacesDisponibles());
		

	}

}
